import {
  Package_Name,
  // API
  // classes
  SSH_Name,
  // consts
  SSHErrorCodeConst_Name,
  // maps
  SSHErrorMsgMap_Name,
  // middlewares
  SSHErrorMiddleware_Name,
  SSHTimeoutMiddleware_Name,
  // utils
  SSHUtil_Name,
  // 类型
  // consts
  SSHErrorCodeConstType_Name,
  // middlewares
  SSHErrorMiddlewareType_Name,
  SSHTimeoutMiddlewareType_Name,
  // types
  SSHResultType_Name,
  // utils
  SSHErrorHandlerType_Name,
  GenSSHResultType_Name,
  GenSSHResultByConfType_Name,
  GenSuccessSSHResultType_Name,
  GenSuccessSSHResultByConfType_Name,
  GenFailSSHResultType_Name,
  GenFailSSHResultByConfType_Name,
  GenSSHResultBySSHResType_Name,
  SSHTestConnType_Name,
  SSHTestConnWithErrMiddlewareType_Name
} from '@xtail/ssh'
import { AutoImportUtil } from '@xtail/unplugin'

export const XTailSSHAutoImports = () =>
  AutoImportUtil.genAutoImports(Package_Name, [
    // classes
    SSH_Name,
    // consts
    SSHErrorCodeConst_Name,
    // maps
    SSHErrorMsgMap_Name,
    // middlewares
    SSHErrorMiddleware_Name,
    SSHTimeoutMiddleware_Name,
    // utils
    SSHUtil_Name
  ])

export type XTailSSHAutoImportsType = typeof XTailSSHAutoImports

export const XTailSSHTypeAutoImports = () =>
  AutoImportUtil.genTypeAutoImports(Package_Name, [
    // consts
    SSHErrorCodeConstType_Name,
    // middlewares
    SSHErrorMiddlewareType_Name,
    SSHTimeoutMiddlewareType_Name,
    // types
    SSHResultType_Name,
    // utils
    SSHErrorHandlerType_Name,
    GenSSHResultType_Name,
    GenSSHResultByConfType_Name,
    GenSuccessSSHResultType_Name,
    GenSuccessSSHResultByConfType_Name,
    GenFailSSHResultType_Name,
    GenFailSSHResultByConfType_Name,
    GenSSHResultBySSHResType_Name,
    SSHTestConnType_Name,
    SSHTestConnWithErrMiddlewareType_Name
  ])

export type XTailSSHTypeAutoImportsType = typeof XTailSSHTypeAutoImports
